<?php

class Application_Form_Vendas extends Zend_Form
{

    public function init()
    {
        $this->addElementPrefixPath('Tri_Filter', 'Tri/Filter', 'FILTER');
        $this->addElementPrefixPath('Tri_Validate', 'Tri/Validate', 'VALIDATE');
        
        $validacaoData = new Zend_Validate_Date('dd/MM/yyyy');
        $validacaoData->setMessages(array( // error messages
            Zend_Validate_Date::INVALID_DATE => 'A data \'%value%\' não é válida.',
            Zend_Validate_Date::FALSEFORMAT => 'O formato de data \'%value%\' não é válido.'
        ));

        $data_decorators = array(
            'UiWidgetElement',
            array('Errors'),
            array('Label',array(
                'class' => 'leftalign'
            )),
            array('HtmlTag',array('tag' => 'li'))
            );

        $this->clearDecorators();
        $decorators = array(
            array('ViewHelper'),
            array('Errors'),
            array('Label',array(
                'class' => 'leftalign'
            )),
            array('HtmlTag',array('tag' => 'li'))
        );

        $vendas = new Tri_Db_Table('vendas');

        $validators = $vendas->getValidators();
        $filters    = $vendas->getFilters();

        $this->setAction('vendas/save')
                ->setName('frmVendas')
                ->setMethod('post')
                ->setAttrib('enctype', 'multipart/form-data');

        $id = new Zend_Form_Element_Hidden('id');
        $id->addValidators($validators['id'])
                ->addFilters($filters['id'])
                ->setDecorators(array('ViewHelper'));

        $filters['evento'][] = 'StripTags';
        $evento = new Zend_Form_Element_Text('evento');
        $evento->setLabel('Evento')
                ->addValidators($validators['evento'])
                ->addFilters($filters['evento'])
                ->setRequired()
                ->setAttribs(array(
                    'class' => 'span5',
                    'placeholder'=>'Nome do evento',
                    ))
                ->setDecorators($decorators); 

        $filters['demandante'][] = 'StripTags';
        $demandante = new Zend_Form_Element_Text('demandante');
        $demandante->setLabel('Área demandante')
                ->addValidators($validators['demandante'])
                ->addFilters($filters['demandante'])
                ->setAttribs(array(
                    'class' => 'span5',
                    'placeholder'=>'Área demandante',
                    ))
                ->setDecorators($decorators); 

        $filters['demandante_contato'][] = 'StripTags';
        $demandante_contato = new Zend_Form_Element_Text('demandante_contato');
        $demandante_contato->setLabel('Contato (demandante)')
                ->addValidators($validators['demandante_contato'])
                ->addFilters($filters['demandante_contato'])
                ->setRequired()
                ->setAttribs(array(
                    'class' => 'span5',
                    'placeholder'=>'Nome e telefone de contato',
                    ))
                ->setDecorators($decorators); 

        $pac = new Zend_Form_Element_Select('pac');
        $pac->setLabel('Previsto no PAC?')
                ->addMultiOptions(array(1=>'Sim', 0=>'Não'))
                ->setAttribs(array('class' => 'span1'))
                ->setDecorators($decorators); 
  
        $dt_inicio = new ZendX_JQuery_Form_Element_DatePicker(
                    'dt_inicio',array('jQueryParams' => array(
                        'dateFormat' => 'dd/mm/yy',
                        'defaultDate' => date('',time()) )));
        $dt_inicio->setLabel('Data Início')
                ->setAttribs(array(
                    'class' => 'span2',
                    ))
            ->setDecorators($data_decorators);

        $dt_termino = new ZendX_JQuery_Form_Element_DatePicker(
                    'dt_termino',array('jQueryParams' => array(
                        'dateFormat' => 'dd/mm/yy',
                        'defaultDate' => date('',time()) )));
        $dt_termino->setLabel('Data Término')
                ->setAttribs(array(
                    'class' => 'span2',
                    ))
            ->setDecorators($data_decorators);

        $carga_horaria = new Zend_Form_Element_Text('carga_horaria');
        $carga_horaria->setLabel('Carga horária')
                ->addValidators($validators['carga_horaria'])
                ->addFilters($filters['carga_horaria'])
                ->setAttribs(array(
                    'class' => 'span1',
                    ))
                ->setDecorators($decorators); 

        $alunos_por_turma = new Zend_Form_Element_Text('alunos_por_turma');
        $alunos_por_turma->setLabel('Qtde alunos por turma')
                ->addValidators($validators['alunos_por_turma'])
                ->addFilters($filters['alunos_por_turma'])
                ->setAttribs(array(
                    'class' => 'span1',
                    ))
                ->setDecorators($decorators); 

        $qtde_turmas = new Zend_Form_Element_Text('qtde_turmas');
        $qtde_turmas->setLabel('Qtde de turmas')
                ->addValidators($validators['qtde_turmas'])
                ->addFilters($filters['qtde_turmas'])
                ->setRequired()
                ->setAttribs(array(
                    'class' => 'span1',
                    ))
                ->setDecorators($decorators); 

        $custo_por_tutor = new Zend_Form_Element_Text('custo_por_tutor');
        $custo_por_tutor->setLabel('Custo hora-aula tutor')
                ->addValidators($validators['custo_por_tutor'])
                ->addFilters($filters['custo_por_tutor'])
                ->setAttribs(array(
                    'class' => 'span2',
                    ))
                ->setDecorators($decorators); 

        $custo_supervisor = new Zend_Form_Element_Text('custo_supervisor');
        $custo_supervisor->setLabel('Custo dia do supervisor')
                ->addValidators($validators['custo_supervisor'])
                ->addFilters($filters['custo_supervisor'])
                ->setAttribs(array(
                    'class' => 'span2',
                    ))
                ->setDecorators($decorators); 

        $filters['portaria_instituicao'][] = 'StripTags';
        $portaria_instituicao = new Zend_Form_Element_Text('portaria_instituicao');
        $portaria_instituicao->setLabel('Portaria de instituição')
                ->addValidators($validators['portaria_instituicao'])
                ->addFilters($filters['portaria_instituicao'])
                ->setAttribs(array(
                    'class' => 'span5',
                    'placeholder'=>'Portaria de instituição',
                    ))
                ->setDecorators($decorators); 

        $filters['portaria_matricula'][] = 'StripTags';
        $portaria_matricula = new Zend_Form_Element_Text('portaria_matricula');
        $portaria_matricula->setLabel('Portaria de matrícula')
                ->addValidators($validators['portaria_matricula'])
                ->addFilters($filters['portaria_matricula'])
                ->setAttribs(array(
                    'class' => 'span5',
                    'placeholder'=>'Portaria de matrícula',
                    ))
                ->setDecorators($decorators); 

        $filters['portaria_designacao'][] = 'StripTags';
        $portaria_designacao = new Zend_Form_Element_Text('portaria_designacao');
        $portaria_designacao->setLabel('Portaria de designação')
                ->addValidators($validators['portaria_designacao'])
                ->addFilters($filters['portaria_designacao'])
                ->setAttribs(array(
                    'class' => 'span5',
                    'placeholder'=>'Portaria de designação',
                    ))
                ->setDecorators($decorators); 

        $filters['portaria_homologacao'][] = 'StripTags';
        $portaria_homologacao = new Zend_Form_Element_Text('portaria_homologacao');
        $portaria_homologacao->setLabel('Portaria de homologação')
                ->addValidators($validators['portaria_homologacao'])
                ->addFilters($filters['portaria_homologacao'])
                ->setAttribs(array(
                    'class' => 'span5',
                    'placeholder'=>'Portaria de homologação',
                    ))
                ->setDecorators($decorators); 

        $filters['portaria_desligamento'][] = 'StripTags';
        $portaria_desligamento = new Zend_Form_Element_Text('portaria_desligamento');
        $portaria_desligamento->setLabel('Portaria de desligamento')
                ->addValidators($validators['portaria_desligamento'])
                ->addFilters($filters['portaria_desligamento'])
                ->setAttribs(array(
                    'class' => 'span5',
                    'placeholder'=>'Portaria de desligamento',
                    ))
                ->setDecorators($decorators); 

        $qtde_alunos_inscritos = new Zend_Form_Element_Text('qtde_alunos_inscritos');
        $qtde_alunos_inscritos->setLabel('Qtde alunos inscritos')
                ->addValidators($validators['qtde_alunos_inscritos'])
                ->addFilters($filters['qtde_alunos_inscritos'])
                ->setAttribs(array(
                    'class' => 'span1',
                    ))
                ->setDecorators($decorators); 

        $qtde_alunos_aprovados = new Zend_Form_Element_Text('qtde_alunos_aprovados');
        $qtde_alunos_aprovados->setLabel('Qtde de alunos aprovados')
                ->addValidators($validators['qtde_alunos_aprovados'])
                ->addFilters($filters['qtde_alunos_aprovados'])
                ->setAttribs(array(
                    'class' => 'span1',
                    ))
                ->setDecorators($decorators); 

        $submit = new Zend_Form_Element_Submit('submit');
        $submit->setLabel('Salvar')
                ->setAttribs(array(
                    'style' => 'margin: 20px 0 0 210px;',
                    'class' => 'btn primary'))
                ->setDecorators(array(
            array('ViewHelper'),
            array('HtmlTag',
                array(
                'tag' => 'li',
                'class' => 'submit'))
        ));

        $this->setDecorators(array(
           'FormElements',
            array('HtmlTag',array('tag'=>'ul')),
            array(
                array(
                    'DivTag'=>'HtmlTag'
                ),
                array(
                    'tag'=>'div',
                    'class'=>'FormDiv'
                )
            ),
            'Form'
        ));

        
        $this->addElement($id)
             ->addElement($evento)
             ->addElement($demandante)
             ->addElement($demandante_contato)
             ->addElement($pac)
             ->addElement($dt_inicio)
             ->addElement($dt_termino)
             ->addElement($carga_horaria)
             ->addElement($alunos_por_turma)
             ->addElement($qtde_turmas)
//             ->addElement($custo_por_tutor)
//             ->addElement($custo_supervisor)
             ->addElement($portaria_instituicao)
             ->addElement($portaria_matricula)
             ->addElement($portaria_designacao)
             ->addElement($portaria_homologacao)
             ->addElement($portaria_desligamento)
             ->addElement($qtde_alunos_inscritos)
             ->addElement($qtde_alunos_aprovados)
             ->addElement($submit);
//             ->addDisplayGroup(array('submit', 'voltar'), 'buttons', 
//                     array(
//                        'decorators' => array(
//                            'FormElements',
//                            array('HtmlTag', array('tag' => 'div', 'class' => 'form-actions'))
//            )));

        
    }
    

}
